home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / unixSyscall / symm.md / tmp_ctl.c < prev   
C/C++ Source or Header  |  1990-08-10  |  859b  |  54 lines

  1. /*
  2.  * tmp_ctl:
  3.  * pretend to be Sequent DYNIX tmp_ctl system call
  4.  */
  5.  
  6.  
  7. #include "sprite.h"
  8. #include "sys.h"
  9. #include "errno.h"
  10. #include "compatInt.h"
  11. #include "tmp_ctl.h"
  12.  
  13. int
  14. tmp_ctl(command, processor)
  15.     int command, processor;
  16.  
  17. {
  18.     int status;
  19.     Sys_MachineInfo machInfo;
  20.  
  21.     switch (command) {
  22.     case TMP_NENG:
  23.         status = Sys_GetMachineInfo(sizeof(machInfo), &machInfo);
  24.         if (SUCCESS == status) {
  25.             return machInfo.processors;
  26.         }
  27.         break;
  28.     case TMP_OFFLINE:
  29.         status = Sched_IdleProcessor(processor);
  30.         break;
  31.     case TMP_ONLINE:
  32.         status = Sched_StartProcessor(processor);
  33.         break;
  34.     case TMP_QUERY:
  35.         /* no way to get processor info... yet */
  36.         errno = EINVAL;
  37.         return UNIX_ERROR;
  38.     default:
  39.         errno = EINVAL;
  40.         return UNIX_ERROR;
  41.     }
  42.     if (SUCCESS != status) {
  43.         errno = Compat_MapCode(status);
  44.         return UNIX_ERROR;
  45.     } else {
  46.         return UNIX_SUCCESS;
  47.     }
  48. }
  49.  
  50.  
  51.  
  52.  
  53.  
  54.